#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include "colormaker.h"

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    /*
     * 注册一个非单例QML类型， 然后就可以在QML里面调用了.
     * qmlRegisterType()的第一个参数uri，指定唯一的包名
     * 一是可以避免名字冲突，二是可以把多个相关类聚合到一个包中方便引用
     * 比如我们常写的这句“import QtQuick.Controls 1.1”， 其中的“QtQuick.Controls”就是包名uri，“1.1”是版本(versionMajor和versionMinor的组合)
     * qmlName则是QML中可以使用的类名
    */
    qmlRegisterType<ColorMaker>("an.qt.ColorMaker",1,0,"ColorMaker");//包名：an.qt.ColorMaker，版本：1.0 类名：ColorMaker
    //上面代码将ColorMaker类注册为QML类ColorMaker，主版本1，次版本0，
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}
